package server

import (
	"fmt"
	"gorm.io/gorm"
	"server/src/model/common"
)

type commonApp struct {
}

// 返回页码
func (c *commonApp) getPageRes(pageInfo common.PageReqInfo, db *gorm.DB) (common.PageResInfo, error) {
	pageRes := common.PageResInfo{}
	fmt.Println("repPageqinfo___", pageInfo)
	err := db.Count(&pageRes.SumData).Error
	if err != nil {
		return pageRes, err
	}
	pageRes.PageReqInfo = pageRes.PageReqInfo
	pageRes.SumPage = int(pageRes.SumData) / pageInfo.PageSize
	if int(pageRes.SumData)%pageInfo.PageSize != 0 {
		pageRes.SumPage++
	}
	return pageRes, nil
}

// 页码设置
func (c *commonApp) paginate(pageInfo common.PageReqInfo, db *gorm.DB) *gorm.DB {
	var offset int = 0
	if pageInfo.CurrentPage != 0 {
		offset = (pageInfo.CurrentPage - 1) * pageInfo.PageSize
	}
	return db.Offset(offset).Limit(pageInfo.PageSize)
}
